// 导入fs模块
const fs = require('fs')

/* 
* 需求：
* 新建文件，座右铭.txt 写入内容：莫道桑榆晚，为霞尚满天
*/


/* 
* fs.writeFile
* @param1 {String} 文件路径
* @param2 {String} 写入内容
* @param3 {Function} 回调函数 失败返回错误信息 成功 --> null
*  */

// 异步写入文件
fs.writeFile('./tempFile/02-座右铭.txt', '莫道桑榆晚，为霞尚满天', err => {
  // 写入失败
  if (err) {
    console.log('写入失败')
    return
  } else {
    console.log('写入成功')
  }
})

// 同步写入文件
fs.writeFileSync('./tempFile/02-座右铭.txt', '莫道桑榆晚，为霞尚满天')

// 异步追加写入
fs.appendFile('./tempFile/02-座右铭.txt', '\r\n莫道桑榆晚，为霞尚满天', err => {
  if (err) {
    console.log('追加写入失败')
    return
  } else {
    console.log('追加写入成功')
  }
})

// 同步追加写入
fs.appendFileSync('./tempFile/02-座右铭.txt', '\r\n莫道桑榆晚，为霞尚满天')

// writeFile 实现追加写入
fs.writeFile('./tempFile/02-座右铭.txt', '\r\n莫道桑榆晚，为霞尚满天', { flag: 'a' }, err => {
  if (err) {
    console.log('追加写入失败')
    return
  } else {
    console.log('追加写入成功')
  }
})

// 流式写入 创建流式写入通道
const writeStream = fs.createWriteStream('./tempFile/02-座右铭.txt')
// 开始写入
writeStream.write('11111')
writeStream.write('22222')
// 关闭写入
writeStream.close()